<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        :root {
            height: 100%;
        }

        body {
            perspective: 800px;
            /* 这种用法更常见一些，并且这个景深和下面的单独设置的景深可以互相叠加 */
            height: 100%;
        }

        .demo {
            width: 200px;
            height: 200px;
            position: absolute;
            background-image: url("./pic1.jpeg");
            background-size: cover;
            top: 200px;
            transform: perspective(800px) rotateY(45deg);
            /* 
                transform属性有一个perspective的属性值
                它会设置这个元素的景深，这个例子设置这五个.demo的景深都是800px
                而且perspective-origin都在各自元素的中心，且不能设置
                并且perspective(800px)只能写在第一个，不能这样：
                transform: rotateY(45deg) perspective(800px);
            */
        }
        .content1 {
            left: 200px;
        }
        .content2 {
            left: 400px;
        }
        .content3 {
            left: 600px;
        }
        .content4 {
            left: 800px;
        }
        .content5 {
            left: 1000px;
        }


    </style>
</head>
<body>
    <div class="content1 demo"></div>
    <div class="content2 demo"></div>
    <div class="content3 demo"></div>
    <div class="content4 demo"></div>
    <div class="content5 demo"></div>
    <script>
        document.body.onmousemove = function (e) {
            this.style.perspectiveOrigin = e.pageX + 'px ' + e.pageY + 'px';
        }

    </script>
</body>
</html>